let fs=require('fs');
let path=require('path')
let express=require('express')

let app=express();

app.use(express.static('./public'));
app.use(express.json());
// 返回首页
app.get('/',(req,res)=>{
    res.sendFile(path.join(__dirname, './public/index.html'))
})
// 验证码接口
app.get('/a',(req,res)=>{
    res.end(Math.random().toString(16).slice(-4));
})
// 注册接口
app.post('/regin',(req,res)=>{
    let {user,pwd}=req.body;
    // 读取文件
    let reg=JSON.parse(fs.readFileSync('./user.json'));
    // 过滤文件
    let aa=reg.filter(item=>item.user==user&&item.pwd==pwd);
    if(aa.length>0){
        res.end('账号已注册')
    }else{
        reg.push({user,pwd});
        fs.writeFileSync('./user.json',JSON.stringify(reg));
        res.end('注册成功')
    }
})
// 登录接口
app.post('/login',(req,res)=>{
    let {user,pwd}=req.body;
    // 读取文件
    let log=JSON.parse(fs.readFileSync('./user.json'));
    // 过滤数据
    let aa=log.filter(item=>item.user==user);
    let aa1=log.filter(item=>item.pwd==pwd);
    let cc=0;
    if(aa.length<=0){
        res.end('账号未注册')
    }else{
        cc++;
    }
    if(aa1.length<=0){
        res.end('密码不正确')
    }else{
        cc++;
    }
    if(cc==2){
        res.end('登录成功')
    }
})
// 获取数据接口
app.post('/mock',(req,res)=>{
    res.sendFile(path.join(__dirname, './data.json'))
})
app.post('/updata',(req,res)=>{
    fs.writeFileSync('./data.json',JSON.stringify(req.body));
    res.end();
})
app.post('/up/index/:index',(req,res)=>{
    let {index}=req.params;
    // 获取所有的数据
    let all=JSON.parse(fs.readFileSync(path.join(__dirname, './data.json')))
    // 关注的商品
    let goods=all.splice(index, 1)[0];
    // 把商品传如arr.json中
    let guanzhu=JSON.parse(fs.readFileSync(path.join(__dirname, './arr.json')))
    guanzhu.push(goods);
    // 把数组写入文件中
    fs.writeFileSync(path.join(__dirname, './arr.json'),JSON.stringify(guanzhu))
    fs.writeFileSync(path.join(__dirname, './data.json'),JSON.stringify(all))
    res.end('ok')
})
// 创建端口号 
app.listen(8080,()=>{
    console.log('服务器启动 http://localhost:8080/');   
})